This application claims the priority benefit of Taiwan application serial no. 88106099, filed Apr. 16, 1999, the full disclosure of which is incorporated herein by reference.
1. Field of Invention
The present invention relates to a method of reading data from a large capacity data storage device. More particularly, the present invention relates to a method of transferring checked and corrected data from a large capacity data storage device to a host machine.
2. Description of Related Art
An optical disk is a storage medium that can register vast amounts of data. In general, an optical disk is divided into many basic storage units known as sectors or blocks. Besides storing actual data, each sector of an optical disk also registers some control data, error detection code (ETC.) AND error correction code (ECC). Before data is read from each sector by a computer system, error detection and correction of the sector data need to be carried out using the error detection code and the error correction code stored within the sector itself. Sector data should be read by a host system only when the sector data is error-free.
FIGS. 1A through 1C are a sequence of steps showing conventional error detection and error correction activities before data is read from an optical disk. In conventional technology, data in each optical disk sector are first read out and temporarily stored in an external DRAM 100 (outside the optical disk control unit). The host machine reads those data from the DRAM 100 only when the data are checked and shown to be error-free using the error detection code and the error correction code. The process of error detection and correction demands that the host machine divide the external DRAM 100 into several blocks such as 100a, 100b and 100c each of the same size according to the optical disk format. By configuring the external memory 100 into a suitable data format, the error detection code and the error correction code can be easily found. The DRAM 100 contains a buffer pointer (buff_ptr) that points to the address of the next available slot for storing a new sector of data. When the host machine starts to read data sector-by-sector from a CD/DVD-ROM disk through an optical disk system, sector data S0 and S1 are stored in the contiguous blocks 100a and 100b of the DRAM 100 according to the address indicated by the buffer pointer buff_ptr. Once sector data such as S1 are stored in memory block 100b, error detection and error correction for the sector data S0 can begin according to the error detection code and error correction code within the sector data S0. As soon as data detection and data correction of the sector data S0 is finished, the correct sector data are available for the host machine. Similarly, other sector data from the optical disk must go through the aforementioned process using a pipeline operation.
However, a portion of the external memory space (DRAM 100) is needed just to hold the sector data temporarily so that error detection and error correction can be carried out. Therefore, the operating bandwidth of the external memory is likely to be reduced resulting in lower system efficiency. In addition, each sector data to be read must go through the above pipeline operation. When some of the sector data requires longer period for error detection and correction, further deterioration of DRAM""s working efficiency may occur, leading to a slowdown of reading operation. Furthermore, optical disk systems having ever-increasing speed are now being developed. Thus, the current frequency bandwidth of external DRAM may not be wide enough to provide the necessary capacity for detecting and correcting each sector data. Hence, error detection and correction capacity will be severely restricted in the future.
In light of the foregoing, there is a need to provide a method for transferring correct data from a large capacity data storage device to a host machine.
Accordingly, the purpose of the present invention is to provide a method of transferring data from a large capacity data storage device. The method includes adding some memory space inside the device for dealing with error detection and correction of sector data. Therefore, error detection and correction of data no longer has to be conducted inside system DRAM, and workload of system DRAM is reduced.
In another aspect, the invention provides a method for transferring data from a large capacity data storage device. The method includes adding some memory space inside the device for dealing with error detection and correction of sector data. Since additional memory for error detection and correction activities is reserved inside the device, the rate of error detection and correction is increased.
One further aspect of the invention is to provide method of transferring data from a large capacity data storage device. The method includes adding some memory space inside the device for dealing with error detection and correction of sector data. Since additional memory for error detection and correction activities is reserved inside the device, a faster optical disk system can be accommodated by a host machine.
To achieve these and other advantages and in accordance with the purpose of the invention, as embodied and broadly described herein, the invention provides a method of transferring data from a large capacity data storage device to a host machine. The method includes reading a plurality of sector data from a storage medium into the large capacity data storage device. Then, the data from various data sectors are stored in contiguous address space inside a first memory, where the first memory resides in the control system of the large capacity data storage device. Next, error detection and error correction of the data inside the first memory are carried out in sequence, a sector of data at a time. After error detection and correction from a particular data sector is finished, the correct data is transferred to a second memory. The second memory is an independent storage medium outside the large capacity storage device control system. Finally, the host machine can read correct data from the second memory.
Capacity of the first memory depends on the amount of error detection and error correction inside the large capacity storage device. In addition, because the first memory is used for error detection and error correction, a faster operating type of memory such as the static random access memory (SRAM) can be used. Additionally, since the second memory is the host memory, dynamic random access memory (DRAM) can be used.
Furthermore, the invention also provides a control system for controlling the transfer of data between a large capacity data storage device and a host machine. The control system of the large capacity data storage device includes a control unit for controlling the large capacity data storage device; an internal memory having a plurality of memory blocks for storing several sectors of data read out by the large capacity data storage device from a data storage medium; an error detection and correction circuit coupled to the internal memory for detecting and correcting various data errors inside each memory block, wherein the correct data are immediately transferred to the host memory; and a microprocessor coupled to the error detection and correction circuit, the control unit and the internal memory via a bus channel, where the microprocessor is used for controlling the control unit. The internal memory can be SRAM and the capacity of the internal memory can be designed to fit the operational requirements of error detection and correction. The system memory can be DRAM.
The SRAM internal memory is a buffer for carrying out the necessary proofreading operations of each data sector, whereas the DRAM system memory is just a buffer for holding the corrected data. Therefore, error detection and correction of the data in each sector does not increase the memory occupancy of the DRAM. Furthermore, by employing faster SRAM memory inside the large capacity storage device, the speed of error detection and correction can be increased.
It is to be understood that both the foregoing general description and the following detailed description are exemplary, and are intended to provide further explanation of the invention as claimed.